import base from '@/utils/config'
const state = {
	isLogin: false, // 用户登录状态
	isLogon: false, // 登录用户是否注册
	loginTime: '', //用户登录时间
};
const mutations = {
	// 设置appid等信息
	SET_APP: function(state, app) {
		state.AppID = app.appid;
		state.AppSecret = app.secret;
	},
	// 设置登录code信息
	SET_LOGIN_CODE: function(state, code) {
		state.loginCode = code;
	},
	// 更新用户登录状态
	SET_USER_LOGINSTATUS: function(state, status) {
		state.isLogin = status;
		if (status)
			state.loginTime = new Date();
	},
	// 更新用户注册状态
	SET_USER_LOGONSTATUS: function(state, status) {
		state.isLogon = status;
	},
	// 退出登录
	LOG_OUT: function(state) {
		state.loginCode = '';
		state.isLogin = false; //用户登录状态
		state.isLogon = false; //登录用户是否注册
		state.loginTime = ''; //登录时间
	}
};
const actions = {
	/**
	 * @description 获取uni.login中的code值
	 */
	getLoginCode: async function({
		commit,
		state,
		rootState
	}, data) {
		return await new Promise((resolve, reject) => {
			uni.login({
				success: (res) => {
					console.log('微信login-code', res)
					// 设置登录code值
					commit('SET_LOGIN_CODE', res.code);
					resolve(base.responseFormat(base.OK, res.code, ''));
				},
				fail: (err) => {
					console.log('uni.login 接口调用失败，将无法正常使用开放接口等服务', err)
					base.toast({
						msg: 'login接口调用失败，将无法正常使用开放接口等服务'
					})
					reject(base.responseFormat(404, null, 'login接口调用失败，将无法正常使用开放接口等服务'))
				}
			})
		})
	}
};
const getters = {};

export default {
	namespaced: true,
	state,
	mutations,
	actions,
	getters
}
